InĀ [1]:
import sys
import os
sys.path.insert(0, os.path.join(os.getcwd(), '../core'))
import kaggle_support as kgs
import importlib
import matplotlib.pyplot as plt
importlib.reload(kgs)
import numpy as np
import cupy as cp
from dataclasses import dataclass, field, fields
import pack_cuda
import pack_vis
import pack_cost
import copy
from IPython.display import HTML, display, clear_output
kgs.set_float32(True)
pack_cuda._ensure_initialized()
vast
WARNING: CUDA MPS not active
vast
WARNING: CUDA MPS not active
init CUDA
Detected GPU compute capability: 12.0 (arch=sm_120)
GPU max threads per block: 1024
=== Compiling kernel variant: crystal ===
Defines: ENABLE_CRYSTAL_AXES, ENABLE_OVERLAP_AREA, ENABLE_SEPARATION
Command: /usr/local/cuda/bin/nvcc -O3 -use_fast_math --extra-device-vectorization --ptxas-options=-v,--warn-on-spills -arch=sm_120 -DENABLE_CRYSTAL_AXES -DENABLE_OVERLAP_AREA -DENABLE_SEPARATION -cubin /packing/temp/pack_cuda_saved.cu -o /packing/temp/pack_cuda_crystal.cubin
ptxas info    : 0 bytes gmem
ptxas info    : Compiling entry function 'multi_boundary_distance_list_total' for 'sm_120'
ptxas info    : Function properties for multi_boundary_distance_list_total
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 36 registers, used 1 barriers
ptxas info    : Compile time = 24.331 ms
ptxas info    : Compiling entry function 'multi_boundary_list_total' for 'sm_120'
ptxas info    : Function properties for multi_boundary_list_total
    224 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 54 registers, used 1 barriers, 224 bytes cumulative stack size
ptxas info    : Compile time = 448.038 ms
ptxas info    : Compiling entry function 'multi_overlap_list_total' for 'sm_120'
ptxas info    : Function properties for multi_overlap_list_total
    1232 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 89 registers, used 1 barriers, 1232 bytes cumulative stack size
ptxas info    : Compile time = 253.541 ms


--- Kernel: multi_overlap_list_total [crystal] ---
  Max threads per block (kernel): 640
  Num registers: 89
  Shared memory (bytes): 0
  Const memory (bytes): 1172
  Local memory (bytes): 1232
=== Compiling kernel variant: no_sep ===
Defines: ENABLE_OVERLAP_AREA
Command: /usr/local/cuda/bin/nvcc -O3 -use_fast_math --extra-device-vectorization --ptxas-options=-v,--warn-on-spills -arch=sm_120 -DENABLE_OVERLAP_AREA -cubin /packing/temp/pack_cuda_saved.cu -o /packing/temp/pack_cuda_no_sep.cubin
ptxas info    : 0 bytes gmem
ptxas info    : Compiling entry function 'multi_boundary_distance_list_total' for 'sm_120'
ptxas info    : Function properties for multi_boundary_distance_list_total
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 36 registers, used 1 barriers
ptxas info    : Compile time = 8.236 ms
ptxas info    : Compiling entry function 'multi_boundary_list_total' for 'sm_120'
ptxas info    : Function properties for multi_boundary_list_total
    224 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 54 registers, used 1 barriers, 224 bytes cumulative stack size
ptxas info    : Compile time = 431.516 ms
ptxas info    : Compiling entry function 'multi_overlap_list_total' for 'sm_120'
ptxas info    : Function properties for multi_overlap_list_total
    1232 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 72 registers, used 1 barriers, 1232 bytes cumulative stack size
ptxas info    : Compile time = 64.127 ms


--- Kernel: multi_overlap_list_total [no_sep] ---
  Max threads per block (kernel): 896
  Num registers: 72
  Shared memory (bytes): 0
  Const memory (bytes): 1172
  Local memory (bytes): 1232
=== Compiling kernel variant: sep ===
Defines: ENABLE_SEPARATION
Command: /usr/local/cuda/bin/nvcc -O3 -use_fast_math --extra-device-vectorization --ptxas-options=-v,--warn-on-spills -arch=sm_120 -DENABLE_SEPARATION -cubin /packing/temp/pack_cuda_saved.cu -o /packing/temp/pack_cuda_sep.cubin
ptxas info    : 0 bytes gmem
ptxas info    : Compiling entry function 'multi_boundary_distance_list_total' for 'sm_120'
ptxas info    : Function properties for multi_boundary_distance_list_total
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 36 registers, used 1 barriers
ptxas info    : Compile time = 8.109 ms
ptxas info    : Compiling entry function 'multi_boundary_list_total' for 'sm_120'
ptxas info    : Function properties for multi_boundary_list_total
    224 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 54 registers, used 1 barriers, 224 bytes cumulative stack size
ptxas info    : Compile time = 429.628 ms
ptxas info    : Compiling entry function 'multi_overlap_list_total' for 'sm_120'
ptxas info    : Function properties for multi_overlap_list_total
    128 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 64 registers, used 1 barriers, 128 bytes cumulative stack size
ptxas info    : Compile time = 57.964 ms


--- Kernel: multi_overlap_list_total [sep] ---
  Max threads per block (kernel): 1024
  Num registers: 64
  Shared memory (bytes): 0
  Const memory (bytes): 1172
  Local memory (bytes): 128

--- Kernel: multi_boundary_list_total ---
  Max threads per block (kernel): 1024
  Num registers: 54
  Shared memory (bytes): 0
  Const memory (bytes): 1172
  Local memory (bytes): 224

--- Kernel: multi_boundary_distance_list_total ---
  Max threads per block (kernel): 1024
  Num registers: 36
  Shared memory (bytes): 0
  Const memory (bytes): 1172
  Local memory (bytes): 0
InĀ [2]:
from IPython.display import HTML, display, clear_output
kgs.set_float32(True)
pack_cuda._ensure_initialized()
InĀ [3]:
%load_ext pyinstrument
InĀ [4]:
import lbfgs_torch_parallel
InĀ [5]:
import pack_ga3
runner = pack_ga3.baseline()
runner.ga.do_legalize = False
runner.ga.ga_base.do_legalize = False
runner.ga.ga_base.N_trees_to_do = 40
runner.n_generations = 5
InĀ [6]:
%%pyinstrument
kgs.profiling=True
runner.run()
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[ 10  11  13  15  17  20  23  27  31  36  42  49  56  65  76  87 101 117
 135 156 181 209 242 280 323 374 432 500]
[np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, np.int64(10), np.int64(11), np.int64(13), np.int64(15), np.int64(17), np.int64(20), np.int64(23), np.int64(27), np.int64(31), np.int64(36), np.int64(42), np.int64(49), np.int64(56), np.int64(65), np.int64(76), np.int64(87), np.int64(101), np.int64(117), np.int64(135), np.int64(156), np.int64(181), np.int64(209), np.int64(242), np.int64(280), np.int64(323), np.int64(374), np.int64(432), np.int64(500)]
/packing/code/analysis/../core/pack_dynamics.py:60: VisibleDeprecationWarning: This function is deprecated and will be removed in a future release. Use the cupy.from_dlpack() array constructor instead.
  x0 = from_dlpack(x0.toDlpack())
/packing/code/analysis/../core/pack_dynamics.py:92: VisibleDeprecationWarning: This function is deprecated and will be removed in a future release. Use the cupy.from_dlpack() array constructor instead.
  return from_dlpack(tmp_cost[:N].toDlpack()), from_dlpack(res.toDlpack())
Generation 0: Best costs = [[0.371981, 0.122103]]
Generation 1: Best costs = [[0.371981, 0.054017]]
Generation 2: Best costs = [[0.371981, 0.031045]]
Generation 3: Best costs = [[0.371981, 0.021077]]
Generation 4: Best costs = [[0.371981, 0.016826]]
InĀ [7]:
kgs.print_module_profile()